package com.office.system.service;

import java.util.List;
import com.office.system.domain.FinanceAccount;

/**
 * 财务账户Service接口
 * 
 * @author 数字牧马人
 */
public interface IFinanceAccountService 
{
    /**
     * 查询财务账户
     * 
     * @param accountId 财务账户主键
     * @return 财务账户
     */
    public FinanceAccount selectFinanceAccountByAccountId(Long accountId);

    /**
     * 查询财务账户列表
     * 
     * @param financeAccount 财务账户
     * @return 财务账户集合
     */
    public List<FinanceAccount> selectFinanceAccountList(FinanceAccount financeAccount);

    /**
     * 新增财务账户
     * 
     * @param financeAccount 财务账户
     * @return 结果
     */
    public int insertFinanceAccount(FinanceAccount financeAccount);

    /**
     * 修改财务账户
     * 
     * @param financeAccount 财务账户
     * @return 结果
     */
    public int updateFinanceAccount(FinanceAccount financeAccount);

    /**
     * 批量删除财务账户
     * 
     * @param accountIds 需要删除的财务账户主键集合
     * @return 结果
     */
    public int deleteFinanceAccountByAccountIds(Long[] accountIds);

    /**
     * 删除财务账户信息
     * 
     * @param accountId 财务账户主键
     * @return 结果
     */
    public int deleteFinanceAccountByAccountId(Long accountId);

    /**
     * 更新账户余额
     * 
     * @param accountId 账户ID
     * @param amount 金额变化
     * @return 结果
     */
    public int updateAccountBalance(Long accountId, java.math.BigDecimal amount);
} 